#!/bin/bash

# 服务器部署设置脚本
# 服务器IP: 47.97.2.18

echo "🚀 开始设置服务器环境..."

# 1. 创建项目目录结构
echo "📁 创建项目目录..."
sudo mkdir -p /var/www/dashboard
sudo mkdir -p /var/www/admin
sudo mkdir -p /var/www/mobile
sudo mkdir -p /var/www/docs
sudo mkdir -p /var/www/error-pages

# 2. 设置目录权限
echo "🔐 设置目录权限..."
sudo chown -R ecs-user:ecs-user /var/www/
sudo chmod -R 755 /var/www/

# 3. 创建错误页面
echo "📄 创建错误页面..."
sudo tee /var/www/error-pages/404.html > /dev/null <<EOF
<!DOCTYPE html>
<html>
<head>
    <title>页面未找到</title>
    <meta charset="utf-8">
    <style>
        body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
        h1 { color: #333; }
    </style>
</head>
<body>
    <h1>404 - 页面未找到</h1>
    <p>抱歉，您访问的页面不存在。</p>
    <a href="/">返回首页</a>
</body>
</html>
EOF

sudo tee /var/www/error-pages/50x.html > /dev/null <<EOF
<!DOCTYPE html>
<html>
<head>
    <title>服务器错误</title>
    <meta charset="utf-8">
    <style>
        body { font-family: Arial, sans-serif; text-align: center; padding: 50px; }
        h1 { color: #333; }
    </style>
</head>
<body>
    <h1>服务器暂时无法访问</h1>
    <p>请稍后再试。</p>
</body>
</html>
EOF

# 4. 备份原有 Nginx 配置
echo "💾 备份原有配置..."
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup.$(date +%Y%m%d_%H%M%S)

# 5. 应用新的 Nginx 配置
echo "⚙️ 应用 Nginx 配置..."
sudo cp nginx.conf /etc/nginx/nginx.conf

# 6. 测试 Nginx 配置
echo "🧪 测试 Nginx 配置..."
sudo nginx -t

if [ $? -eq 0 ]; then
    echo "✅ Nginx 配置测试通过"
    
    # 7. 重启 Nginx
    echo "🔄 重启 Nginx..."
    sudo systemctl restart nginx
    sudo systemctl enable nginx
    
    echo "🎉 部署环境设置完成！"
    echo ""
    echo "📋 项目目录结构："
    echo "  /var/www/dashboard  - 主项目 (Dashboard)"
    echo "  /var/www/admin      - 管理后台"
    echo "  /var/www/mobile     - 移动端项目"
    echo "  /var/www/docs       - 文档站点"
    echo ""
    echo "🌐 访问地址："
    echo "  主项目:     http://47.97.2.18/"
    echo "  管理后台:   http://47.97.2.18/admin"
    echo "  API接口:    http://47.97.2.18/api"
    echo "  移动端:     http://47.97.2.18/mobile"
    echo "  文档:       http://47.97.2.18/docs"
    echo ""
    echo "📤 现在可以上传你的 dist 文件到 /var/www/dashboard/"
else
    echo "❌ Nginx 配置测试失败，请检查配置文件"
    exit 1
fi